/*
 * FileName：SysUser.java 
 * <p>
 * Copyright (c) 2017-2020 <a href="">hermit(1154808491@qq.com)</a>.
 * <p>
 * Licensed under the GNU General Public License, Version 3 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.gnu.org/licenses/gpl-3.0.html
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
package com.koine.entity.sys;

import com.koine.common.page.Page;
import com.koine.common.util.PropertiesUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 用户信息
 *
 * @author hermit
 * @version 2.0
 * @date 2018-12-30 22:26:32
 */
@Data
@Builder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = " 用户信息")
public class SysUser extends Page implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private String userId;
    /**
     * 用户名
     */
    @ApiModelProperty(value = "用户名")
    private String account;
    /**
     * 用户姓名
     */
    @ApiModelProperty(value = "用户姓名")
    private String userName;
    /**
     * 用户姓名拼音
     */
    @ApiModelProperty(value = "用户姓名拼音")
    private String namePinyin;
    /**
     * 用户密码
     */
    @ApiModelProperty(value = "用户密码")
    private String password;
    /**
     * 用户类型：1系统
     */
    @ApiModelProperty(value = "用户类型：1系统")
    private String userType;
    /**
     * 所属组织机构编码
     */
    @ApiModelProperty(value = "所属组织机构编码")
    private String deptId;
    /**
     * 用户手机号
     */
    @ApiModelProperty(value = "用户手机号")
    private String mobile;
    /**
     * 用户邮箱
     */
    @ApiModelProperty(value = "用户邮箱")
    private String email;
    /**
     * 用户性别：1男 2女 3保密
     */
    @ApiModelProperty(value = "用户性别：1男 2女 3保密")
    private String sex;
    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String avatar;
    /**
     * 用户状态：0禁用 1启用 2锁定
     */
    @ApiModelProperty(value = "用户状态：0启用 1禁用 2锁定")
    private String status;
    /**
     * 是否删除：0否 1是
     */
    @ApiModelProperty(value = "是否删除：0否 1是")
    private String delFlag;
    /**
     * 是否系统参数：0否 1是
     */
    @ApiModelProperty(value = "是否系统参数：0否 1是")
    private String systemFlag;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createUser;
    /**
     * 创建时间
     */
    @ApiModelProperty(hidden = true)
    private Date createTime;
    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    private String updateUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(hidden = true)
    private Date updateTime;
    /**
     * 新密码
     */
    @ApiModelProperty(hidden = true)
    private String newPassword;

    /**
     * 所属组织机构名称
     */
    @ApiModelProperty(hidden = true)
    private String deptName;

    /**
     * 是否演示模式
     */
    @ApiModelProperty(hidden = true)
    private String demoMode = PropertiesUtil.getString("demoMode");
}
